/**
 * <pre>
 * 标  题: LogUtil.java
 * 版权所有: 版权所有(C)2005-2011
 * 公  司: 深圳中兴力维技术有限公司
 * 内容摘要: 日志类。
 * 其他说明: 
 * 完成日期: 2011-7-13
 * </pre>

 * @version 1.0
 * @author 陆彦良
 */
package log;

import java.lang.reflect.InvocationTargetException;

/**
 * 日志类。
 * 
 * @author 陆彦良
 *
 */
public class LogUtil {

	public static void debug(String info) {
		Log.Debug(info);
	}

	public static void debug(String info, Object... args) {
		Log.Debug(String.format(info, args));
	}

	public static void info(String info) {
		Log.Debug(info);
	}

	public static void info(String info, Object... args) {
		Log.Info(String.format(info, args));
	}

	public static void warn(String info) {
		Log.Warn(info);
	}

	public static void warn(String info, Object... args) {
		Log.Warn(String.format(info, args));
	}

	public static void error(String info) {
		Log.Error(info);
	}

	public static void error(String info, Object... args) {
		Log.Error(String.format(info, args));
	}

	public static void fatal(String info) {
		Log.Fatal(info);
	}

	public static void fatal(String info, Object... args) {
		Log.Fatal(String.format(info, args));
	}

	/**
	 * 将异常堆栈信息记录到日志中。
	 * 
	 * @param e 异常对象。
	 */
	public static void error(Exception e) {

		StringBuffer buffer = new StringBuffer();

		buffer.append(e);
		buffer.append("\n");

		StackTraceElement[] elements = e.getStackTrace();
		if (elements != null && elements.length > 0) {
			for (int i = 0; i < elements.length; i++) {
				buffer.append(elements[i]);
				buffer.append("\n");
			}
		}

		error(buffer.toString());
	}

	public static void error(InvocationTargetException e) {
		error((Exception) e.getCause());
	}

	public static boolean isDebug() {
		return Log.IsDebug();
	}

	public static boolean isInfo() {
		return Log.IsInfo();
	}

	public static boolean isWarn() {
		return Log.IsWarn();
	}

	public static boolean isError() {
		return Log.IsError();
	}

	public static boolean isFatal() {
		return Log.IsFatal();
	}

	/**
	 * 显式调用init方法，指定log4j配置文件路径。<br>
	 * <br>
	 * 建议直接在IRcpCommonConfig对象中进行配置。
	 * 
	 * @param configFilePath log4j配置文件路径。
	 */
	@Deprecated
	public static void init(String configFilePath) {
		Log.Init(configFilePath);
	}
}
